Two issues in the context of testing a software application are the re-usability and maintainability of tests and test data. Specifically, while it is relatively easy to implement test cases, it can quickly become difficult to maintain the test cases and even more challenging to create test cases that can be re-used for various scenarios. Moreover, in the context of testing business processes, this becomes even more important since those processes support various scenarios that have to be tested in order to insure that the system is behaving properly.